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.