Cohomology and fundamental classes
Given an oriented manifold $M$ and an oriented submanifold $\phi:N\to M$ we can obtain a homology class $\phi_*[N]\in H_*(M)$ where $[N]$ is the fundamental class of $N$. In general, it is not true that every homology class of $M$ can be represented by a submanifold in this manner, however for some special cases it is.
For example, for $M$ an oriented (and closed maybe?) 4-manifold every homology class can be represented by a submanifold. Another example is when $M$ an Euclidean configuration space.
My questions are:
1) Under what circumstances can every homology class of $M$ be represented by a submanifold and
2) What are some examples of manifolds who have homology classes not representable in this manner?