P0420 is probably caused by the lean misfire. That could be anything from a bad wiring connection to the injector or plug, clogged injector, bad spark plug, bad O2 sensor, etc. My wife's Miata would routinely throw a P0420 when the coil packs were dying. Nothing wrong with the cat, it was just getting a random misfire that made the computer think something was wrong with it. The computer never came up with a "too rich" or "too lean," go figure. At one point I had an injector die, and the stupid computer complained about P0420 instead of "cylinder 3 has no fuel."