Responsibilities for Specifications
The customer is ultimately responsible for specifying requirements. Whether your company has a business analyst or project manager is irrelevant to identifying the responsible party.
A business analyst is generally a liaison between the development team and the client, and is responsible for working with a client to elicit or refine requirements. However, the requirements themselves always originate with the client. In many cases, the business analyst is in the best position to document the requirements once they've been defined, but that is really a matter of convenience and is ancillary to the role.
Put another way, the business analyst facilitates requirements-gathering and refinement of the deliverable specifications from the client. The client remains responsible for defining their needs and expectations.
The project manager, on the other hand, has the responsibility for managing the specification artifacts (e.g. storing and disseminating the specification documents, if any), and for integrating the specifications into the project plan. As before, the client is responsible for the specifications; the project manager just facilitates the inclusion of specifications into the project management process.