A generic code reader will cost you around $100 at WalMart, which is about the same price as the dealer would charge you to read and re-set the CEL. Once you have the code (or codes- could be more than one) then you can do some searches to see what the likely causes are. There are a handful of common fault codes that have plenty written about them on this site or others like volvospeed or matthew's volvo site.
Could just re-set the light and see if it comes back- also check the gas cap. I had a large evap leak on mine and replaced the gas cap and it hasn't come back. There are various hoses in the evap system, one of which may have a leak also.
If the code was erased and came back on, then it wasn't the gas cap or perhaps the new code is something else. Do an internet search for the code and see what else could be causing it. I know there is a j-hose that is sometimes damaged or perhaps one of the hoses leading to the evap cannister, either under the hood or toward the rear of the car just in front of the passenger side rear wheel.