In theory there is no difference. The SOA definition could be also applied to microservices architecture as well:
"Services are unassociated, loosely coupled units of functionality that are self-contained. Each service implements at least one action, such as submitting an online application for an account, retrieving an online bank statement or modifying an online booking or airline ticket order." [SOA definition from wikipedia]
Also a microservice architecture could be challenged (often killed) with the same questions as a SOA.
In practice SOA was applied to expose, reuse and expose business services at enterprise level. Microservice architectures are used to structure individual applications. Because it is easier to control a single application than a whole enterprise, microservices are less ambitious and more pragmatic.
On demand workshops: Java EE 7: Bootstrap, Effective, Testing and Microservices available for streaming.