Let $M \in \mathbb{R}^{n \times n}$. In a lecture on numerical linear algebra we had a theorem which states that the iteration $\phi(x) = Mx+b$ converges for all $b \in \mathbb{C}^n$ and initial values $x_0 \in \mathbb{C}^n$ if and only if $\rho(M) < 1$ where $\rho$ is the spectral radius. So the question "When does $x_{k+1} = Mx_k + b$ converge for all $b \in \mathbb{C}^n$ and $x_0 \in \mathbb{C}^n$?" has the answer "if and only if $\rho(M) < 1$".
My question is now
"When does $x_{k+1} = Mx_k + b$ converge for all $b \in \mathbb{R}^n$ and $x_0 \in \mathbb{R}^n$?"
Of course it is still sufficient that $\rho(M)<1$ but is it also necessary? If yes, I would appreciate a hint on how to prove this.
EDIT: Proof of theorem mentioned above:
Let $\rho(M) < 1$. Then there is some matrix norm $||\cdot ||$ such that $||M|| < 1$. Apply Banach fixed point theorem on $\phi$. Now, suppose that $\rho(M) \geq 1$. Then pick an eigenvalue $\lambda$ such that $|\lambda|\geq 1$ and let $v$ be some eigenvector to $\lambda$ (it may be complex). Then pick $b = x_0 = v$. It is easy to see, that this fixed point iteration does not converge.