2005 Chrysler 300C 5.7L HEMI with 105,xxx miles. Check engine light decided to come on, so I scanned the codes and it showed that all four 02 sensors were bad. (P0038, P0052, P0058, & one more I didn't write down.) So, I made sure all connections were good and no exposed wiring, and I had replaced both downstream 02 sensors, erased the codes, drove it for a bit, and the check engine light decided to come back on. The codes were still showing that all four sensors were bad, throwing the same codes as last time. I tried replacing the front 02 sensors but didn't have any luck getting them removed. I figured it must be something else causing the codes anyway since it was still showing the ones that I had replaced were bad. I read that changing the spark plugs could fix the problem, so I changed all 16 spark plugs. (Side note: I did notice oil on a few of my old spark plugs, i'm assuming I have a bad valve cover gasket, But I don't think that would make my car throw an 02 sensor code) anyways, I cleared the code again and the same four codes still come on after I drive it for a bit. Has anyone else had this problem? Should I take it to a mechanic and get the front two 02 sensors replaced and see if that fixes all 4 codes? Could the oil in my spark plugs cause it to misfire and throw the codes? Could it be a bad PCM and need to be replaced?