Both denote the same thing in business vocabulary and are often used interchangeably. But when one entity is outsourcing work to another company, the contact-taking company is referred to as an agency. The entity that passes on the contract is called a company by the clients.