KJ Kev wrote:
Ok after just checking the code again it showed p0303 Cylinder 3 misfire detected this time.

Well thats bad news, but not the worst neccessarily. Since its a definitive cyl 3 misfire and not a random/multiple, you can start diagnosing the 3rd cylinder directly.
If this a 4 cylinder, I believe you have 1 coilpack and of course 4 sparkplug wires, since your old mechanic

just had the engine torn apart, check to make sure the wires are fully seated on the spark plugs and fully plugged into the coil pack. Also move the wire around and make sure its not laying on anything on the engine. Youd be surprised how many technicians forget to reattach wire retainers and clips. If all of this is good, run the engine in the dark tonight, and look for any arcing occurring around the sparkplug wire.
If you have the 6 cylinder, I believe you have direct ignition, meaning you dont have plug wires, you have 6 individual ignition coils that sit over the sparkplugs, check to make sure all the coils are properly plugged in, next look to make sure they are fully seated over the sparkplugs.
If this stuff seems good, you could just have a bad spark plug, or bad coil, but a coil will usually throw its own code. (not always but usually).
There is a slim chance that your O2 sensor code is being caused by this misfire. Not defintely, but possible. I would probably throw a new plug in it and see how it does.