I think that your condition implies that a monic degree $n$ polynomial has $n$ roots (counting multiplicity). Maybe you want to consider the weaker condition 

- a degree $n$ polynomial is a product of $n$ linear factors.

For a commutative ring with an identity the familiar result holds with the familiar proof:

> Any polynomial $f(x)$ (even if not monic) we have that $r$ is a root , $f(r)=0$, exactly when there is a polynomial $g(x)$ with $f(x)=(x-r)g(x).$ 

So saying that every polynomial has at least one root implies that a degree $n$ polynomial is a product of $n$ linear factors.

**NOTES:** 

- I don't know that there are any non-field examples. I'm just trying to salvage the question.

- Over the integers, $f(x)=6x^2-5x+1=(2x-1)(3x-1)$ although the polynomial has no roots.

- That factorization holds $\bmod 30$ as well, though we might prefer to write it as $6x^2+25x+1.$ That makes it look as though there are no roots $\bmod 30.$

 However when $x=17,$ we have $(2x-1)(3x-1)=33\cdot 50 =0 \bmod 30.$ 

 And when $x=23,$ we have $(2x-1)(3x-1)=45\cdot 68 =0 \bmod 30.$ 

 And , indeed, $$(x-17)(6x-23)=(6x-17)(x-23)=6x^2-5x+1$$

- Again $\bmod 30,$ we have $$x^2-19=(x-7)(x+7)=(x-7)(x-23)$$ and also $$x^2-19=(x-13)(x+13)=(x-13)(x-17)$$ Of course $x^2-1$ also has   four roots, $\pm 1,\pm 11.$ But that seems less mysterious.