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?