Do you have any emissions numbers on it? ... that might help lead you to the solution.
Could be either of the things you mentioned above or something else.... but a CAS should throw a code of it's own.
The codes only tell you which part or system is exhibiting a symptom. Sometimes the problem has nothing to do with the indication from the code(s).