Have you tested the ground at the connection?
I've seen this happen in the past:
The CEL is only going to display the code for the sensor that it is getting a "bad" or "faulty" reading from. Another sensor may have a prob (like a MAP sensor, for example) and is causing the O2 to get a bad reading or report faulty conditions.
Mechanical problems (that are not monitored by the ECU) can aslo provide the ECM with a 'false reading' by creating problematic conditions at the sensors (i.e. a vacuum leak can cause a CEL showing a MAP sensor).
This may not relate to your issue, but I thought I would throw it out there. If you're noticing some engine troubles you might have to look elsewhere for the problem rather than depending on the check engine light.