I am analysing on the possibility of creating a web application using Sitecore where the web application is pure thin client using js based framework (knockout or angular) which can consume the content via services instead of a traditional sitecore mvc based application. This will be a loosely couple application where the front end application doesnot need to know that data is coming from sitecore. Is it possible in sitecore or does it support only sitecore mvc based application. I am fine with creating an intermediatery service which will get data from sitecore and pass it to front end.
Yes, it is possible to achieve your architecture using Sitecore. There are a few options for you here to do headless implementations, each with their own advantages and disadvantages, and different version/licensing implications.
Currently in Tech Preview, this requires Sitecore 9 and a subscription/consumption license (as mentioned by @Chris Auer). This is the most robust headless offering we have and uses ReactJS.
Angular support is coming in the near future.
SSC (Sitecore Services Client):
This layer of APIs will allow you to consume content from Sitecore from your thin client. Available on 8.x (as mentioned by @Sergey Shushlyapin) but there were some enhancements done in Sitecore 9 to better support headless scenarios.
(Note that there are many other pages in the doc site as well for other details)
SXA and the JSON device:
If you are using SXA to build your sites, you can use the JSON device to get content from your site. I recommend using the latest SXA for this as there were some enhancements here.