The difference between testing APIs and testing Web services stems from the difference between APIs and Web services. So, according to Wikipedia:
An application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software.
Intuitively, Web services are APIs available over the Web. However, again we should be precise on how those Web services are implemented (again from Wikipedia):
Although "web API" is sometimes considered a synonym for web service, many Web 2.0 web applications have moved away from SOAP-based web services towards collections of RESTful web resources.
You may ask whethere there are APIs that are not Web APIs. There are: libraries and frameworks can have APIs. There also remote APIs that are not available over the Web, like Java RMI.
So when you ask
Is there any difference in testing of a API and a Web services?
you need to be more precise what type of API you have in mind and what exactly you understand by Web services term.
When it comes to difference between testing RESTful resources and SOAP Web services, there is already a question on that topic.