This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Functional specifications - Provides the functional requirements of the project. It defines what the application is supposed to do.
Unit Test Plan(UTP) - Defines how you would carry out your unit testing. It usually contains unit test cases.
I am not sure how widely is Unit test plans used in the current age. It used to be popular with Rational Unified Process (RUP) Methodology. But with Agile and Test Driven Development, you directly jump in creating JUnit or TestNG unit test cases instead of documenting the unit test plan in a word document.
You may find some organizations who require you document the unit test cases for the sake of tracebility matrix to map the requirements mentioned in funtional specs to the unit test cases you intend to test. Also by reviewing the UTP (Which is usually written by the devloper who is supposed to implement a specific functionality), a tech lead or project lead figures out if the developer has understood the requirement, before he starts implementing the code. So a lot depends on the process adopted by the company you are working in.