Custom options page for themes

The correct capability for editing Theme options is edit_theme_options. This capability is only available by default to users in the Administrator role.

So, if you’re trying to make Theme options available for configuration by non-admins, it won’t work unless you also give the appropriate capability to the user role in question.

Note: this is not a trivial change, and I do not generally recommend making Theme options configurable by non-administrators, unless you absolutely know what you’re doing.