The ssl-snakeoil.key is a key created by ssl-cert package post-install scripts. It's created for the snakeoil user and should not be deleted:
grep '#' /var/lib/dpkg/info/ssl-cert.postinst
# Create the ssl-cert system group for snakeoil ownership:
# Check if the generated snakeoil key/cert has been generated
# from a vulnerable openssl version and replace it if necessary.
# check if the cert and key file exist,
# the issuer and subject are the same (self signed cert)
# and the private key is vulnerable
# no need to perform any check. If the certificates are there
# it will exit 0.
# allow group ssl-cert to access /etc/ssl/private
# If we're upgrading from an older version, fix the unreadable key:
Now, what's the ssl-cert package:
This package enables unattended installs of packages that
need to create SSL certificates.
It is a simple wrapper for OpenSSL's certificate request utility that
feeds it with the correct user variables.
So it is a certificate used to install packages that need to create SSL certificates, so the system generates one on the fly with the installation of this package.
As a side note, this package is not exclusive to Ubuntu, since it also appears in Debian.