Is there any way to start nintex workflow at Site Creation or list/library creation?
this isn't possible out of the box. However, you can create an Event Receiver via Visual Studio which you can execute automatically e. g. when a new site or list is being provisioned. Inside this event receiver you can call the Nintex Workflow Webservice and execute the proper method (StartSiteWorkflow/StartWorkflow/StartWorkflowOnListItem).
Nintex Web Service reference: http://help.nintex.com/en-US/sdks/SDK2013/#Reference/SOAP/NW_REF_SOAP_StartSiteWorkflow.htm%3FTocPath%3DNintex%2520Softw…
Tutorial on how to consume a web service in c#: C#.Net How To: Consume a Web Service in C#.Net Visual Studio 2010 - C# Tutorials
MSDN-Article on how to create event receivers: How to: Create an Event Receiver
Retrieving data ...