SSL does not have to be costly. See my question here about why SSL is so expensive, and why they vary so much. Depending on WHY you want the certificate, you can get them from as low as $US10/year (this does away with insurance and fancy dynamic secured logos, etc, but provides the same level of encryption as most of the other certificates). For cheap providers, see this question here however don't just read the accepted answer, because there ARE cheaper solutions than GoDaddy.
Now, to certificates that work with nginx, you need to create a CSR, or Certificate Signing Request. This is usually done with OpenSSL. You can see here for some nginx-specific instructions, but the instructions for any open-ssl will be the same.
As far as setting up the SSL Virtualhosts, see here.