Can I generate an offline Bitcoin wallet using only OpenSSL? From what I understand about Bitcoin, a wallet is really just a pair of public/private keys.

So, if someone needs to send me Bitcoins, all I need to do is just generate a pair or public/private keys using OpenSSL or some other tool, and send the public key to that person, without actually downloading a Bitcoin client (which will download a 12 GB block chain), or saving a wallet.dat.

Am I correct?
You are almost correct ;-) 

You can create a public/private key using OpenSSL (in fact, some wallets use OpenSSL libaries to generate the keys). However, the bitcoin address is not your public key but a function of such public key. The exact function is defined here
https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_addresses

So, once you generate your pair of keys and compute the bitcoin address from your public key, you can receive bitcoins in such bitcoin address.