We prove the Noether-Lefschetz conjecture on the moduli space of quasi-polarized K3 surfaces. This is deduced as a particular case of a general theorem that states that low degree cohomology classes of arithmetic manifolds of orthogonal type are dual to the classes of special cycles, i.e. sub-arithmetic manifolds of the same type. For compact manifolds this was proved in cite{BMM11}, here we extend the results of cite{BMM11} to non-compact manifolds. This allows us to apply our results to the moduli spaces of quasi-polarized K3 surfaces.