I agree with @Dan that each spec is different, and may look very different. To me what is important is having a consistent process that your stakeholders are all happy with, and any tools (such as BRS templates) that will make their life easier.
the following is a bit of a hack of a similar question .
The steps as i see it are;
1) Business Requirements Statement (BRS)
2) Functional Specification
3) Technical specification
The BRS covers what the business problems are, and what the requirements are around solutions, testing, security, reliability and delivery. This defines what would make a successful solution.
The functional spec details what is needed, how it should look, how long fields should be, etc.
The technical spec details where the data comes from, any tricky code that may need to be considered.
The customer owns the requirements. The developers own the tech specs.. and the functional spec is a middle ground. Testing is done against the tech specs (usually unit testing) then then against the functional specs (usually system testing) and then against the requirements (UAT).
The important part of this is that the developers still need to deliver to the functional spec, and most importantly the original business requirements. In reality the BRS is god in all of this and the functional and tech spec are just there for clarity.