These are the possibilities but you will need a good quality scanner to read live data to test it. In general O2 sensors have a life span of approximately 100,000 miles give or take, you are close now, and one of these could be the problem, or it could be dirty fuel injectors, injector control, or even just a vacuum leak.
get a can of spray Throttle body cleaner, spray the vac lines and maniflod area, when the idle changes, youve found the leak! You want the engine running and spray on the outside but do direct the stream onto the hoses, if it is a vacuum leak, the engine idle will change speed, then you have detected a leak, repair the vacuum leak and see how it runs! Misfires can also be bad spark plugs, when was your last COMPLETE tune up? Fuel and air filter?