As horace1 pointed, this is [only] compiler dependent. There's nothing in hardware tying a particular uC to a specific size of int.
That being said, all 8-bit uC of any architecture and flavor and on all compilers I have ever used (there are a few of each) have had a 16-bit int (-32768 to 32767).
I'd be prepared to say that the uncertainty around this issue is only theoretical and you can rely on the int being 2-bytes on a 8-bit compiler, but it's good practice to define user types of known sizes and only use those types in embedded (I only use U1, U2, U4, S1, S2, S4 for unsigned and signed integers of 1, 2 and 4 bytes, respectively).
In this case, if you'll ever port your code on a wider (bit-wise) platform, you'll only need to change the type definitions in one single place...
Arthur
PS: btw., type ranges can be probed and tested for by including "limits.h" and using the macros defined there (such as INT_MIN and INT_MAX, for instance).