"Functional" tends to have a more narrow meaning when discussing software requirements and specifications. The meaning is usually restricted to business logic requirements and non-functional requirements are issues relating to implementation such as performance, extendability, and ease of maintenance.