This is because different phones have different amounts of texture memory available depending on hardware, and their OpenGL version, this specific value is GL_MAX_TEXTURE_SIZE
and can be looked up per phone here and in other places.
To work around this, convert the image to a blob and then resize it using a built-in function: imageAsResized, in the success callback after taking a picture.
Ti.Media.showCamera({
....
success : function(e) {
// Resized to a size that most phones should support
var resizedImage = e.media.imageAsResized(1024, 1024);
// Set the image view with the resized image
imageView.image = resizedImage;
},
....
});