Create a view for a specific content(Not for a specific content type!) I have two content types: departments and teachers. Every teacher node has an entity reference field which points to the department to which that teacher belongs.

I want to create a view that shows the list of all teachers from the particular department and I want the link of that view to be shown on the department page. So, each department page will have a link of a view page which will show the list of all teachers from that department.

I can create a view for a content type, but how can I create a view for
a specific node of a content type (e.g Computer Engg department)?
It sounds like you want to put a teacher tab on a node page of type department.

Create a view that shows content (nodes). Filter it to only show teachers. Add a relationship to the department. 

Add a contextual filter of nid, and set the relationship (to department) you created on that contextual filter. Hide the view when the filter value is not available, and add validation to it that confirms that it is a node nid belonging to a department.  

Add a path to the view: node/%/teachers. Add a menu entry. Set it to menu tab, and give it a title of 'Teachers'.