There are unambiguous context-free grammars for most practical languages (ignoring context-sensitive features such as variable declarations, whitespace sensitivity, etc.).
But there is no algorithm which can find an unambiguous grammar given an ambiguous grammar. Furthermore, there is not even an algorithm which can tell you for certain whether a given grammar is ambiguous. These are both undecidable problems.
And, to answer your question, there are context-free languages for which there is no unambiguous grammar. Such languages are said to be inherently ambiguous. Hence no all ambiguous grammar cannot be converted to unambiguous grammar.