Why is oxygen an oxidizing agent?
To estimate reactivity solely based on the the octet rule is a crude, (semi-)empirical approach in the first place. Atoms and molecules don't know anything about their number of electrons in shells, but the formation of molecules are based on the minimization of (free-)energy of the system.
The octet rule gives a hint, for what kind of systems the potential energy may be small, but does not say anything about the relative energies of two systems, both fulfilling the octet rule.

To "exactly" predict the reactivity, you would have to solve the Schrödinger equation for both states of your systems, find the eigenvalue of the energies, consider entropic contributions. Furthermore you would need to "sample" all possible pathways of your reaction, to check if the energy barriers are small enough to be overcome at a given temperature.
(To be really exact, you still would need to estimate entropic contributions)

Yet still a chemists' intuition often can predict reactivity very well. Concerning your specific problem, one possible qualitative explanation would be, that the octet rule is not fulfilled for copper, but only for oxygen, before the reaction happens. Taking a look on the structure of Copper(II) oxide on the other hand, shows that it fulfils the octet rule for both, copper and oxygen.(Ignoring d-electrons for copper)

Furthermore, the reaction enriches the electron density in the strongly electronegative oxygen, while reducing the electron density in the "electropositive" copper, which also stabalizes the structure of copper oxide.