A common problem with that engine is the fuel injector harness ground on the front-left-lower of the front of the engine. It corrodes or gets damaged and the common ground (each bank has a common ground, and both grounds go to this location) loses connection: Injectors will not fire.
I would try a leak down test. Connect the gauge, pressurize the system by turning on the key, then turn off. Watch the gauge to see how fast (if any) the pressure drops.
A fast pressure drop or a lot of pressure drop could mean a faulty pressure regulator or stuck injector or a host of other related things.
I would check the water temp sensor and the Intake air temp sensor. When they start going south, it sends incorrect data to the PCM, which causes incorrect changes to fuel trim and timing. This could cause your issue.
It doesn't always set a code, because at first the data is not completely out-of-spec, but can cause engine miss.