Let $ \alpha $ be the root of some polynomial with integer coefficients. Can $ \alpha $ always be written as an algebraic expression using only rational number and roots of unity?
This is equivalent to asking if $$ \mathbb{Q}(\zeta_3,\zeta_4,\zeta_5, \dots ) $$ the infinite dimensional extension constructed by adjoining the $ n $th root of unity for every $ n $, is equal to the algebraic closure of $ \mathbb{Q} $.
If this is not true then what is an example of an algebraic number that cannot be expressed in terms of roots of unity?
No. If $\zeta$ is a root of unity, then the Galois group of $\zeta$ over $\mathbb{Q}$ is abelian (since any automorphism must send $\zeta$ to a power of $\zeta$ and such automorphisms commute since $(\zeta^n)^m=(\zeta^m)^n$). So, if $K\subseteq\mathbb{Q}(\zeta)$ is Galois over $\mathbb{Q}$, its Galois group must also be abelian (since it is a quotient of the Galois group of $\mathbb{Q}(\zeta)$). So if the Galois group of $\alpha$ is not abelian, then it cannot be expressed in terms of roots of unity. For instance, $\alpha=\sqrt[3]{2}$ cannot be expressed in terms of roots of unity, since its Galois group is $S_3$.
(In fact, this is the only obstruction: by the Kronecker-Weber theorem, if $\alpha$ has abelian Galois group, then it is in $\mathbb{Q}(\zeta)$ for some root of unity $\zeta$.)