A specification is a technical document that explicitly describes what a particular technology does. It is often very detailed. For example, the Java Language Specification (or JLS for short) describes all the the syntax and other details about the Java language.
API stands for Applicaton Programmers Interface which is in general a set of classes and/or methods that were written by some programmers for other programmers to use. In Java, when we talk about "the API", we typically mean "the standard Java API."
Documentation is something written in natural language, such as English, that describes how something works. A specification is a specific type of documentation. There is also documentation for the Java API. There is also documentation for other Java technologies like JSP, Servlets, and EJB. In fact, if you visit the official Java website, there is a link in the menu on the left hand side that will give you a list of all the documentation that is available.
I'm not familiar with the term "blue print", so I will let someone else comment on that.