Are all quadratics factorable into a product of two binomials?
It really depends on whether you want to have complex factors or not. If you can have complex factors, every expression can be. If not, then only if $b^2\ge4ac$ would they be factorable.
Take $x^2+1$, it can be factored into $(x-i)(x+i)$ but none of the factors are real.
You're either right or wrong depending on context, and so is your teacher.
One of the beautiful properties of the complex numbers is that when you allow polynomials to have complex coefficients, every polynomial is the product of linear factors in exactly one way (not counting different orders of multiplication of the factors as different ways to express the product). This is known as the Fundamental Theorem of Algebra. (You can tell it's an important theorem, because it's called "fundamental.")
If you allow only real coefficients of polynomials, the Fundamental Theorem has a slightly different form: every polynomial is the product of linear factors and/or irreducible quadratic factors with real coefficients in exactly one way (not counting different orders of multiplying the factors). The irreducible quadratic factors are precisely the ones that have complex roots.
So when we work with polynomials, we may ask ourselves, "Are we working with real polynomials today or with complex polynomials?" Depending on the answer to that question, you can factor every polynomial into linear terms, or there are some that you cannot factor in that way.
Each polynomial of degree $n\ge 1$ has exactly $n$ complex roots and hence it can be decomposed into a product of $n$ binomials (with complex coeffitients of course). (See Fundamental Theorem of Algebra)
In your example there are real roots: \begin{align} x^2+4x+1&=x^2+4x+4-3 \\ &=(x+2)^2-3 \\ &=(x+2-\sqrt{3})(x+2+\sqrt{3}) \end{align}