A good business requirement spec should contain,

  •  Description – what is it?
  •  Who needs/uses it?
  •  When it is used?
  •  How should it work?
  •  How the common errors are handled?
  •  What are the non-functional attributes to be satisfied?
  •  Sample inputs/outputs
  •  Environment where it is used.

Whereas are a good technical specification includes,

  •  Input and output specification
  • Behavior flow
  • User interface details
  • Data storage details (tables, files)
  • Other interfacing details