When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
HCs, hydro carbons, are unburned fuel. Your engine could have a mis-fire, even a lean mis-fire, resulting in unburned gases. Old engine oil can be contaminated with blow by gases and skew the HC readings as the PCV circulates the crankcase gases through the intake. And of course, as already mentioned, the cat could be failing. With a rich A/F mixture, the HCs wouldn't be high as long as all the fuel was being consumed, but the the CO would be high.
If you haven't changed the oxygen sensor in 40,000 or more miles, I would change it for the chance that you need it, and might get better gas mileage also.
Do a search on this forum, and get the oxygen sensor voltage at ambient temps. if it checks out, get it hot, and then recheck the volts again while running. Then reset the computer code that you generated.
um, btw, mine has passed every time. it has 130,000 miles on it.