I bought mine here on Iboats. Don't forget your forum discount as it adds up!
Mine's made by Carver, and out of Sunbrella fabric specific to my boat. I don't recommend the generic - one size fits most ones as you'll have fabric where you don't want it and no reinforcements where you do.
Other option is to talk to a few local marinas. Mine deal with mobile canvas shops that will come right to the marina and custom make a cover for you. Expect to pay a few more $$$ for the service.
I've had 3 Carvers now and in my opinion they are the best. I second the no-generic idea. However, look up the Carver options. They DO make custom covers for certain models. If your isn't on the list, I'd go to a local canvas shop.