As per passport my name is Manish Kumar Ahuja, but by mistake I book a ticket with the name of Manish Ahuja. My middle name is not on the ticket. Can I fly on this ticket? Because the airline can't add the name and they say that the ticket is non-refundable.
The "ticket" you have is just a reference to a booking that you have made. The Check-In staff will print your Boarding Pass for the airplane as long your "ticket" name matches your passport name.
Ask the person on the Check-in desk to print your full name on the Boarding Pass. If you run into someone from Security who objects to the name on your Boarding Pass it is usually quite simple to get the name changed. (Although it may mean a trip back to the Check-In desk.)
I have a middle name and previously this has been left off, as well as my first name being abbreviated. This has occasionally caused problems with the TSA. I now always check my Boarding Pass and request the name to be changed to better match my passport name if needed.
This is quite similar to : Can I travel within US if name on ticket is abbreviated?
This might be a real problem if flying to or from USA. APIS requires valid middle name. Examples: https://www.aa.com/i18n/travel-info/security/secure-flight.jsp
Middle name has to be exactly as in your passport.
Full disclosure: I work for a company providing flight services, including flights to and from USA. Mismatched middle name is daily recurring problem. All the downvoters based they vote on wishful thinking, how the situation should be. I write as situation is.