If I fail in an interview just because I do not have communication skills, how should I improve?
If the employees of a company work in teams then naturally it facilitates things if they can all speak/understand/write to each other at a level that is required to do their job. If you're a heads down programmer, then much less is required. However, if you're a team leader then you need a much higher degree of fluency than the programmer does. There are many levels to learning a language, and it is not easy. I've been in brazil for the past few years and I'm just now getting to the point where I feel I'm working at a good professional level in portuguese.
There are other possibilities: the interview was in some way biased or for some other reason just didn't like you - but if that's the case there's nothing you can do about it except go on to the next interview.