Everything inside \begin{figure}…\end{figure} must not be larger than a single page. In order to break it over pages, you must do it manually. Use \ContinuedFloat from the subfig package to do this: (from the subfig documentation, ยง2.2.3)
\begin{figure}
\centering
\subfloat[][]{...figure code...}%
\qquad
\subfloat[][]{...figure code...}
\caption{Here are the first two figures of a continued figure.}
\label{fig:cont}
\end{figure}
\begin{figure}
\ContinuedFloat
\centering
\subfloat[][]{...figure code...}%
\qquad
\subfloat[][]{...figure code...}
\caption[]{Here are the last two figures of a continued figure.}
\label{fig:cont}
\end{figure}