Answered by Robert Halligan
Requirements are totally abstract things. A requirement is simply something that somebody requires. The Oxford English Dictionary defines a requirement as an order, a demand, an imperative. In the most common engineering context, a requirement is a required characteristic of something that is to be engineered or otherwise acquired.
If a requirement is written down, it is now a specified requirement.
A specification is a specific record.
In the two most common engineering contexts, we have requirements specifications and design specifications. The first is a specific record of a set of requirements; the second is a specific record of the design. Thus a requirements specification is the artifact that contains the specified requirements as a set, for the item which is the subject of the requirements specification.
In new product design, a requirements specification for the product would normally drive that design. Once the design of the product is implemented, verification of the product will be carried out against the requirements specified in the requirements specification.
The activity of design creates requirements on elements of the solution, e.g. on a subsystem. The requirements on a subsystem will normally be extracted from the design and specified as a set for the purpose of communicating the requirements on the subsystem to the designer or supplier of the subsystem. And so it goes on.