Oops. My bad. SSL protocol doesn't give the Host: header. So apache can't decide which Vhost to serve (from apache docs :D).
Though SSL doesn't itself provide a Host: header, the HTTP session on top if it still does, so if you can get past the SSL layer virtual hosting will work as usual. As others have suggested, wildcard certs and "subjectAltName" certs are two ways to make the SSL layer accept multiple certs. I have successfully used wildcard certs and name-based virtual hosting together.
-----Scott.