How did you generate the key/cert? There is a script (CA.pl) which produces a key with a passphrase and it appears in lots of 'how to's' on SSL/TLS. Apache (and Postfix + lots of other SSL/TLS programs) can't cope with a passphrase and you get all kinds of odd errors if you create it this way. If you've produced it with something else or the cli 'openssl req -new -nodes ...' this probably won't be your issue.
Review what you set the OU and CN to in the CERT/REQUEST and make sure it matches 'www.domain.com'. There is a subtle difference between
www.domain.com and domain.com and that can break things too.