For the most part, yes—when caught and introduced to a team, anyway. Of course, in the wild, the general answer is no, as pokémon often compete for resources or space. Or, well, eat each other, as nature is wont to do.
However, pokémon actually understand that being with humans means they no longer have to worry about their own survival. This is quite literally half the reason why pokémon are very fond of befriending and bonding with us humans: to them, we represent a plentiful source of everything they need. Hence, once caught and tamed, pokémon that may be bitter rivals in the wild—such as butterfree and beautifly, meowth and growlithe, and so forth—have no problem setting aside their differences and considering each other as partners, friends, or even family.
For the most part, anyway. It’s also not uncommon for two pokémon to fight for personal reasons (jealousy, anxiety over the possibility of being replaced, prejudice against a species or type, or simply a dislike for someone). If this occurs, however, it’s important that you address those issues as soon as possible. Check the team building tag (http://bills-pokedex.tumblr.com/tagged/team-building) for tips on how to handle this.
Best of luck, anonymous!