So when I generate my ssh keys, I see that other members of my team have known hosts in their .shh directory. Am I missing a parameter? What exactly does the file knownhosts do? Do I need it?
known_hosts
has nothing to do with your ssh keys.
It's a file that is created/appended whenever you connect to a new host (ssh/git server) and said "yes" to the question if you trust the host and want to continue connecting.
The file will contain the signatures of those hosts, so that ssh can automatically re-check when connecting to a host, if you've already confirmed trusting that host.