Examine if there is matrix $B\in\mathbb{C}$ such that $$B^3=\begin{pmatrix} 0 & 2 & -1 & 1\\ 0 & 0 & 3 & 1\\ 0 & 0 & 0 & 4\\ 0 & 0 & 0 & 0 \end{pmatrix}$$
I'm pretty sure that due to the fact that the $4\times 4$ matrix isn't diagonalizable, there can't be such a matrix $B$.
Is this correct? And if it is how do I prove that?
You're correct in your assumption, but you're incorrect in your argument.
An outline of a proof it with elementary techniques we can use Gauss elimination to show that there's a base where $B$ would be upper triangular, that is on the form $B=(D+U)$ where $D$ is diagonal and $U$ is strictly upper. Now $B^3 = (D+U)^3 = D^3 + U^2D + UDU + DU^2 + UD^2 + DUD + D^2U + U^3$ which we can see it's diagonal is $D^3$ (follows from the fact that the product of a diagonal and strictly upper or two strictly upper is strictly upper).
This implies that $B$ is strictly upper and then in that base $B^3$ would have just one non-zero element at the upper right and there is no way such a matrix would have that representation in any base.
The fault with your attempt is that (for real matrices anyway) $B^3=A$ is not equivalent to $A$ being diagonalizable. $A$ not being diagonalizable does not even exclude the posibility that $A=B^3$ for some matrix $B$. Let for example $B$ be a suitable rotation which makes $A=B^3$ a nontrivial rotation too which is a nontrivial rotation in any base (and therefore not diagonal).