An icon should always be positioned either above or before the label which describes it.
The icon is intended to be an easily scannable item that allows the user to quickly identify a control or section of the UI and as such should come before the content it represents. You should generally place the icon so that it is inline with the text and is 'read' before the text (so to the left of the text in ltr langs and to the right of the text in rtl langs). In this format, the icon is there to support the text content and can act as a hint of the content of the text before the user has to actually parse the text.
You can place the icon above the text but I would suggest only doing so if the icon is the main focus of that UI element and the text is supporting the icon. This can be used for the main navigation links in your application where a user is more likely to be familiar with the icons themselves and the text is just there to act as a fallback for users that are not yet familiar.